package service;

import model.User;
import java.util.List;
import java.util.ArrayList;
import java.sql.*;
import utils.DatabaseUtil;

public class TeacherService {
    /**
     * 获取所有教师用户的列表
     *
     * @return 包含所有教师用户信息的列表
     */
    public List<User> getAllTeachers() {
        List<User> teachers = new ArrayList<>(); // 初始化一个空的教师用户列表
        String sql = "SELECT id, username, name FROM users WHERE role = 'TEACHER' ORDER BY name"; // 定义SQL查询语句，用于从数据库中选择所有角色为'TEACHER'的用户，并按姓名排序

        try (Connection conn = DatabaseUtil.getConnection(); // 获取数据库连接
             PreparedStatement stmt = conn.prepareStatement(sql)) { // 使用SQL查询语句创建一个PreparedStatement对象

            ResultSet rs = stmt.executeQuery(); // 执行查询，获取结果集
            while (rs.next()) { // 遍历结果集中的每一行
                User teacher = new User(); // 创建一个新的User对象
                teacher.setId(rs.getInt("id")); // 设置User对象的id属性
                teacher.setUsername(rs.getString("username")); // 设置User对象的username属性
                teacher.setName(rs.getString("name")); // 设置User对象的name属性
                teachers.add(teacher); // 将User对象添加到教师用户列表中
            }
        } catch (SQLException e) {
            e.printStackTrace(); // 如果发生SQL异常，打印堆栈跟踪信息
        }
        return teachers; // 返回包含所有教师用户信息的列表
    }
}
